.\"****************************************************************************
.\" Written by Chris Dunlap <cdunlap@llnl.gov>.
.\" Copyright (C) 2007-2013 Lawrence Livermore National Security, LLC.
.\" Copyright (C) 2002-2007 The Regents of the University of California.
.\" UCRL-CODE-155910.
.\"
.\" This file is part of the MUNGE Uid 'N' Gid Emporium (MUNGE).
.\" For details, see <https://munge.googlecode.com/>.
.\"
.\" MUNGE is free software: you can redistribute it and/or modify it under
.\" the terms of the GNU General Public License as published by the Free
.\" Software Foundation, either version 3 of the License, or (at your option)
.\" any later version.  Additionally for the MUNGE library (libmunge), you
.\" can redistribute it and/or modify it under the terms of the GNU Lesser
.\" General Public License as published by the Free Software Foundation,
.\" either version 3 of the License, or (at your option) any later version.
.\"
.\" MUNGE is distributed in the hope that it will be useful, but WITHOUT
.\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
.\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
.\" and GNU Lesser General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public License
.\" and GNU Lesser General Public License along with MUNGE.  If not, see
.\" <http://www.gnu.org/licenses/>.
.\"****************************************************************************

.TH REMUNGE 1 "@META_DATE@" "@META_ALIAS@" "MUNGE Uid 'N' Gid Emporium"

.SH NAME
remunge \- MUNGE credential benchmark

.SH SYNOPSIS
.B remunge
[\fIOPTION\fR]...

.SH DESCRIPTION
The \fBremunge\fR program benchmarks the performance of MUNGE.  A benchmark
runs for the specified duration or until the specified number of credentials
are processed, whichever comes first.  At its conclusion, the number of
credentials processed per second is written to stdout.
.PP
By default, credentials are encoded for one second using a single thread.

.SH OPTIONS
.TP
.BI "-h, --help"
Display a summary of the command-line options.
.TP
.BI "-L, --license"
Display license information.
.TP
.BI "-V, --version"
Display version information.
.TP
.BI "-q, --quiet"
Display only the creds/sec numeric result.  This is useful for producing
input files for \fBministat\fR.
.TP
.BI "-c, --cipher " string
Specify the cipher type, either by name or number.
.TP
.BI "-C, --list-ciphers"
Display a list of supported cipher types.
.TP
.BI "-m, --mac " string
Specify the MAC type, either by name or number.
.TP
.BI "-M, --list-macs"
Display a list of supported MAC types.
.TP
.BI "-z, --zip " string
Specify the compression type, either by name or number.
.TP
.BI "-Z, --list-zips"
Display a list of supported compression types.
.TP
.BI "-e, --encode"
Encode (but do not decode) each credential.  By bypassing the decode
operation, the credential is not stored in the replay cache.
.TP
.BI "-d, --decode"
Encode and decode each credential.
.TP
.BI "-l, --length " integer
Specify an arbitrary payload length (in bytes).  The integer may be followed
by a single-character modifier: k=kilobytes, m=megabytes, g=gigabytes;
K=kibibytes, M=mebibytes, G=gibibytes.
.TP
.BI "-u, --restrict-uid " uid
Specify the user name or UID allowed to decode the credential.  This will
be matched against the effective user ID of the process requesting the
credential decode.
.TP
.BI "-g, --restrict-gid " gid
Specify the group name or GID allowed to decode the credential.  This will
be matched against the effective group ID of the process requesting the
credential decode, as well as each supplementary group of which the effective
user ID of that process is a member.
.TP
.BI "-t, --ttl " integer
Specify the time-to-live (in seconds).  This controls how long the credential
is valid once it has been encoded.  A value of 0 selects the default TTL.
A value of \-1 selects the maximum allowed TTL.
.TP
.BI "-S, --socket " path
Specify the local domain socket for connecting with \fBmunged\fR.
.TP
.BI "-D, --duration " integer
Specify the test duration (in seconds).  The default duration is one second.
A value of \-1 selects the maximum duration.  The integer may be followed
by a single-character modifier: s=seconds, m=minutes, h=hours, d=days.
.TP
.BI "-N, --num-creds " integer
Specify the number of credentials to generate.  The integer may be followed
by a single-character modifier: k=kilobytes, m=megabytes, g=gigabytes;
K=kibibytes, M=mebibytes, G=gibibytes.
.TP
.BI "-T, --num-threads " integer
Specify the number of threads to spawn for processing credentials.
.TP
.BI "-W, --warn-time " integer
Specify the maximum number of seconds to allow for a given
\fBmunge_encode\fR() or \fBmunge_decode\fR() operation before issuing
a warning.

.SH "EXIT STATUS"
The \fBremunge\fR program returns a zero exit code if the benchmark completes.
On error, it prints an error message to stderr and returns a non-zero
exit code.

.SH AUTHOR
@META_AUTHOR@

.SH COPYRIGHT
Copyright (C) 2007-2013 Lawrence Livermore National Security, LLC.
.br
Copyright (C) 2002-2007 The Regents of the University of California.
.PP
MUNGE is free software: you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation, either version 3 of the License, or (at your option) any later
version.
.PP
Additionally for the MUNGE library (libmunge), you can redistribute it
and/or modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.

.SH "SEE ALSO"
.BR munge (1),
.BR unmunge (1),
.BR munge (3),
.BR munge_ctx (3),
.BR munge_enum (3),
.BR munge (7),
.BR munged (8).
.PP
\fBhttps://munge.googlecode.com/\fR
